/* Copyright 2018 JDCLOUD.COM

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http:#www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.





Contact: 

NOTE: This class is auto generated by the jdcloud code generator program.
*/

 

#ifndef RdsModel_h
#define RdsModel_h
#import <JDCloudOCSDKCharge/JDCloudOCSDKCharge.h>

@interface QueryPerformanceResult :NSObject

/// sql语句
@property (strong,nonatomic,nonnull)  NSString*  sql;

/// 上次执行时间，格式为YYYY-MM-DD hh:mm:ss
@property (strong,nonatomic,nonnull)  NSString*  lastExecutionTime;

/// 平均执行时长，单位毫秒(ms)
@property (strong,nonatomic,nonnull)  NSNumber*  elapsedTime;

/// 执行次数
@property (strong,nonatomic,nonnull)  NSNumber*  executionCount;

/// 平均CPU使用时间，单位毫秒(ms)
@property (strong,nonatomic,nonnull)  NSNumber*  workerTime;

/// 平均逻辑读次数
@property (strong,nonatomic,nonnull)  NSNumber*  logicalReads;

/// 平均逻辑写次数
@property (strong,nonatomic,nonnull)  NSNumber*  logicalWrites;

/// 平均物理读次数
@property (strong,nonatomic,nonnull)  NSNumber*  physicalReads;

/// 上次返回记录数
@property (strong,nonatomic,nonnull)  NSNumber*  lastRows;


-(id) initWithSql:(NSString*) sql
    lastExecutionTime:(NSString*)lastExecutionTime
    elapsedTime:(NSNumber*)elapsedTime
    executionCount:(NSNumber*)executionCount
    workerTime:(NSNumber*)workerTime
    logicalReads:(NSNumber*)logicalReads
    logicalWrites:(NSNumber*)logicalWrites
    physicalReads:(NSNumber*)physicalReads
    lastRows:(NSNumber*)lastRows;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface Backup :NSObject

/// 备份ID
@property (strong,nonatomic,nonnull)  NSString*  backupId;

/// 备份名称，最长支持64个英文字符或等长的中文字符
@property (strong,nonatomic,nonnull)  NSString*  backupName;

/// 备份所属实例ID
@property (strong,nonatomic,nonnull)  NSString*  instanceId;

/// 备份状态，请查看[枚举参数定义](../Enum-Definitions/Enum-Definitions.md)
@property (strong,nonatomic,nonnull)  NSString*  backupStatus;

/// 备份开始时间，格式为：YYYY-MM-DD HH:mm:ss
@property (strong,nonatomic,nonnull)  NSString*  backupStartTime;

/// 备份结束时间，格式为：YYYY-MM-DD HH:mm:ss&lt;br&gt;- **SQL Server支持**&lt;br&gt;- **MySQL不支持**
@property (strong,nonatomic,nonnull)  NSString*  backupEndTime;

/// 备份类型，全量备份或增量备份，请查看[枚举参数定义](../Enum-Definitions/Enum-Definitions.md)&lt;br&gt;- **SQL Server支持**&lt;br&gt;- **MySQL不支持**
@property (strong,nonatomic,nonnull)  NSString*  backupType;

/// 备份模式，系统自动备份或手动备份，请查看[枚举参数定义](../Enum-Definitions/Enum-Definitions.md)
@property (strong,nonatomic,nonnull)  NSString*  backupMode;

/// 备份粒度，实例备份或者多库备份，请查看[枚举参数定义](../Enum-Definitions/Enum-Definitions.md)&lt;br&gt;- **SQL Server支持**&lt;br&gt;- **MySQL不支持**
@property (strong,nonatomic,nonnull)  NSString*  backupUnit;

/// 备份文件列表&lt;br&gt;- **SQL Server支持**,备份可以有多个文件，文件名的命名规则为:&lt;br&gt;（1）全备：数据库名+.bak&lt;br&gt;（2）增量：数据库名+.diff&lt;br&gt;- **MySQL不支持**
@property (strong,nonatomic,nonnull)  NSArray<NSString*>*  backupFiles;

/// 整个备份集大小，单位：Byte
@property (strong,nonatomic,nonnull)  NSNumber*  backupSizeByte;


-(id) initWithBackupId:(NSString*) backupId
    backupName:(NSString*)backupName
    instanceId:(NSString*)instanceId
    backupStatus:(NSString*)backupStatus
    backupStartTime:(NSString*)backupStartTime
    backupEndTime:(NSString*)backupEndTime
    backupType:(NSString*)backupType
    backupMode:(NSString*)backupMode
    backupUnit:(NSString*)backupUnit
    backupFiles:(NSArray<NSString*>*)backupFiles
    backupSizeByte:(NSNumber*)backupSizeByte;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface ErrorLog :NSObject

/// 错误日志文件名称
@property (strong,nonatomic,nonnull)  NSString*  name;

/// 错误日志文件大小，单位Byte
@property (strong,nonatomic,nonnull)  NSNumber*  sizeByte;

/// 错误日志最后更新时间，格式为：YYYY-MM-DD HH:mm:ss
@property (strong,nonatomic,nonnull)  NSString*  lastUpdateTime;

/// 错误日志上传时间，格式为：YYYY-MM-DD HH:mm:ss
@property (strong,nonatomic,nonnull)  NSString*  uploadTime;

/// 公网下载链接
@property (strong,nonatomic,nonnull)  NSString*  publicURL;

/// 内网下载链接
@property (strong,nonatomic,nonnull)  NSString*  internalURL;


-(id) initWithName:(NSString*) name
    sizeByte:(NSNumber*)sizeByte
    lastUpdateTime:(NSString*)lastUpdateTime
    uploadTime:(NSString*)uploadTime
    publicURL:(NSString*)publicURL
    internalURL:(NSString*)internalURL;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface DBInstanceInternal :NSObject

/// 实例ID
@property (strong,nonatomic,nonnull)  NSString*  instanceId;

/// 实例名称，具体规则可参见帮助中心文档:[名称及密码限制](../../../documentation/Database-and-Cache-Service/RDS/Introduction/Restrictions/SQLServer-Restrictions.md)
@property (strong,nonatomic,nonnull)  NSString*  instanceName;

/// 实例引擎类型，如MySQL或SQL Server等，参见[枚举参数定义](../Enum-Definitions/Enum-Definitions.md)
@property (strong,nonatomic,nonnull)  NSString*  engine;

/// 实例类别，例如主实例，只读实例等，参见[枚举参数定义](../Enum-Definitions/Enum-Definitions.md)
@property (strong,nonatomic,nonnull)  NSString*  instanceType;

/// 实例状态，参见[枚举参数定义](../Enum-Definitions/Enum-Definitions.md)
@property (strong,nonatomic,nonnull)  NSString*  instanceStatus;


-(id) initWithInstanceId:(NSString*) instanceId
    instanceName:(NSString*)instanceName
    engine:(NSString*)engine
    instanceType:(NSString*)instanceType
    instanceStatus:(NSString*)instanceStatus;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface ResourceInfo :NSObject

/// 实例id
@property (strong,nonatomic,nonnull)  NSString*  resourceId;

/// 实例名称
@property (strong,nonatomic,nonnull)  NSString*  resourceName;


-(id) initWithResourceId:(NSString*) resourceId
    resourceName:(NSString*)resourceName;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface ParameterModifyRecords :NSObject

/// 参数名称
@property (strong,nonatomic,nonnull)  NSString*  name;

/// 修改前的参数值
@property (strong,nonatomic,nonnull)  NSString*  preModify;

/// 修改后的参数值
@property (strong,nonatomic,nonnull)  NSString*  postModify;

/// 修改时间
@property (strong,nonatomic,nonnull)  NSString*  updateTime;


-(id) initWithName:(NSString*) name
    preModify:(NSString*)preModify
    postModify:(NSString*)postModify
    updateTime:(NSString*)updateTime;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface Binlog :NSObject

/// binlog日志备份ID
@property (strong,nonatomic,nonnull)  NSString*  binlogBackupId;

/// binlog日志名称
@property (strong,nonatomic,nonnull)  NSString*  binlogName;

/// binlog日志大小，单位KB
@property (strong,nonatomic,nonnull)  NSNumber*  binlogSizeKB;

/// binlog开始时间,格式为：YYYY-MM-DD HH:mm:ss
@property (strong,nonatomic,nonnull)  NSString*  binlogStartTime;

/// binlog结束时间,格式为：YYYY-MM-DD HH:mm:ss
@property (strong,nonatomic,nonnull)  NSString*  binlogEndTime;


-(id) initWithBinlogBackupId:(NSString*) binlogBackupId
    binlogName:(NSString*)binlogName
    binlogSizeKB:(NSNumber*)binlogSizeKB
    binlogStartTime:(NSString*)binlogStartTime
    binlogEndTime:(NSString*)binlogEndTime;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface InterceptResult :NSObject

/// SQL开始执行时间
@property (strong,nonatomic,nonnull)  NSString*  startTime;

/// 源IP
@property (strong,nonatomic,nonnull)  NSString*  ip;

/// 账号名
@property (strong,nonatomic,nonnull)  NSString*  accountName;

/// 线程ID
@property (strong,nonatomic,nonnull)  NSString*  threadId;

/// 数据库名
@property (strong,nonatomic,nonnull)  NSString*  dbName;

/// sql语句
@property (strong,nonatomic,nonnull)  NSString*  sql;


-(id) initWithStartTime:(NSString*) startTime
    ip:(NSString*)ip
    accountName:(NSString*)accountName
    threadId:(NSString*)threadId
    dbName:(NSString*)dbName
    sql:(NSString*)sql;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface ImportFile :NSObject

/// 文件名称
@property (strong,nonatomic,nonnull)  NSString*  name;

/// 如果该文件是共享文件，则有全局ID，如不是共享文件，则为空。该全局ID在文件删除时，需要用到
@property (strong,nonatomic,nonnull)  NSString*  sharedFileGid;

/// 文件大小，单位Byte
@property (strong,nonatomic,nonnull)  NSNumber*  sizeByte;

/// 文件上传完成时间，格式为：YYYY-MM-DD HH:mm:ss
@property (strong,nonatomic,nonnull)  NSString*  uploadTime;

/// 是否所属当前实例.&lt;br&gt; 1：当前实例；&lt;br&gt;0：不是当前实例，为共享文件
@property (strong,nonatomic,nonnull)  NSString*  isLocal;

/// 文件状态&lt;br&gt;- 仅支持SQL Server
@property (strong,nonatomic,nonnull)  NSString*  status;

/// 导入完成时间,格式为：YYYY-MM-DD HH:mm:ss&lt;br&gt;- 仅支持SQL Server
@property (strong,nonatomic,nonnull)  NSString*  importTime;


-(id) initWithName:(NSString*) name
    sharedFileGid:(NSString*)sharedFileGid
    sizeByte:(NSNumber*)sizeByte
    uploadTime:(NSString*)uploadTime
    isLocal:(NSString*)isLocal
    status:(NSString*)status
    importTime:(NSString*)importTime;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface FileDownloadURL :NSObject

/// 公网下载链接，若当前不可下载，则为空串
@property (strong,nonatomic,nonnull)  NSString*  publicURL;

/// 内网下载链接，若当前不可下载，则为空串
@property (strong,nonatomic,nonnull)  NSString*  internalURL;


-(id) initWithPublicURL:(NSString*) publicURL
    internalURL:(NSString*)internalURL;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface ParameterGroupParameter :NSObject

/// 参数名称
@property (strong,nonatomic,nonnull)  NSString*  name;

/// 参数描述
@property (strong,nonatomic,nonnull)  NSString*  descriptionValue;

/// 参数修改后的数值，但不一定生效，需要视该参数生效是否需要重启
@property (strong,nonatomic,nonnull)  NSString*  configureValue;

/// 参数默认值
@property (strong,nonatomic,nonnull)  NSString*  defaultValue;

/// 该参数数值的允许修改范围
@property (strong,nonatomic,nonnull)  NSString*  range;

/// 参数数值的类型
@property (strong,nonatomic,nonnull)  NSString*  type;

/// 参数修改是否需要重启生效.- true:参数需要重启才能生效- false:参数生效无需重启
@property (strong,nonatomic,nonnull)  NSString*  needRestart;


-(id) initWithName:(NSString*) name
    descriptionValue:(NSString*)descriptionValue
    configureValue:(NSString*)configureValue
    defaultValue:(NSString*)defaultValue
    range:(NSString*)range
    type:(NSString*)type
    needRestart:(NSString*)needRestart;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface MissingIndexResult :NSObject

/// 数据库名
@property (strong,nonatomic,nonnull)  NSString*  db;

/// 表名
@property (strong,nonatomic,nonnull)  NSString*  table;

/// 构成相等谓词的列的逗号分隔列表，谓词的形式如下：&lt;br&gt;table.column &#x3D;constant_value
@property (strong,nonatomic,nonnull)  NSString*  equalityColumns;

/// 用于查询的涵盖列的逗号分隔列表,即创建索引的SQL语句中，Include后的字段
@property (strong,nonatomic,nonnull)  NSString*  inequalityColumns;

/// 构成不等谓词的列的逗号分隔列表，例如以下形式的谓词：&lt;br&gt;table.column &gt; constant_value&lt;br&gt;“&#x3D;”之外的任何比较运算符都表示不相等。
@property (strong,nonatomic,nonnull)  NSString*  includedColumns;

/// 实现此缺失索引后，用户查询可能获得的平均百分比收益。 该值表示如果实现此缺失索引，则查询成本将按此百分比平均下降。
@property (strong,nonatomic,nonnull)  NSNumber*  avgUserImpact;

/// 由可能使用了组中建议索引的用户查询所导致的扫描次数。
@property (strong,nonatomic,nonnull)  NSNumber*  userScans;

/// 由可能使用了组中建议索引的用户查询所导致的搜索次数。
@property (strong,nonatomic,nonnull)  NSNumber*  userSeeks;


-(id) initWithDb:(NSString*) db
    table:(NSString*)table
    equalityColumns:(NSString*)equalityColumns
    inequalityColumns:(NSString*)inequalityColumns
    includedColumns:(NSString*)includedColumns
    avgUserImpact:(NSNumber*)avgUserImpact
    userScans:(NSNumber*)userScans
    userSeeks:(NSNumber*)userSeeks;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface File :NSObject

/// 文件名
@property (strong,nonatomic,nonnull)  NSString*  name;

/// 文件大小，单位Byte
@property (strong,nonatomic,nonnull)  NSNumber*  sizeByte;


-(id) initWithName:(NSString*) name
    sizeByte:(NSNumber*)sizeByte;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface WhiteList :NSObject

/// 白名单名称
@property (strong,nonatomic,nonnull)  NSString*  name;

/// IP或IP段，不同的IP/IP段之间用英文逗号分隔，例如0.0.0.0/0,192.168.0.10
@property (strong,nonatomic,nonnull)  NSString*  ips;


-(id) initWithName:(NSString*) name
    ips:(NSString*)ips;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface DBInstanceNode :NSObject

/// 节点id
@property (strong,nonatomic,nonnull)  NSString*  idValue;

/// 节点名称
@property (strong,nonatomic,nonnull)  NSString*  name;

/// 节点状态
@property (strong,nonatomic,nonnull)  NSString*  status;


-(id) initWithId:(NSString*) idValue
    name:(NSString*)name
    status:(NSString*)status;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface Tag :NSObject

/// 标签键
@property (strong,nonatomic,nonnull)  NSString*  key;

/// 标签值
@property (strong,nonatomic,nonnull)  NSString*  value;


-(id) initWithKey:(NSString*) key
    value:(NSString*)value;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface Log :NSObject

/// 日志文件id
@property (strong,nonatomic,nonnull)  NSString*  idValue;

/// 日志文件名称
@property (strong,nonatomic,nonnull)  NSString*  name;

/// 日志文件大小，单位Byte
@property (strong,nonatomic,nonnull)  NSNumber*  sizeByte;

/// 日志最后更改时间
@property (strong,nonatomic,nonnull)  NSString*  lastModified;

/// 公网下载链接
@property (strong,nonatomic,nonnull)  NSString*  publicURL;

/// 内网下载链接
@property (strong,nonatomic,nonnull)  NSString*  internalURL;


-(id) initWithId:(NSString*) idValue
    name:(NSString*)name
    sizeByte:(NSNumber*)sizeByte
    lastModified:(NSString*)lastModified
    publicURL:(NSString*)publicURL
    internalURL:(NSString*)internalURL;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface DigestData :NSObject

/// 表示执行结果中95% 数据小于或等于此数值
@property (strong,nonatomic,nonnull)  NSNumber*  pct95;

/// 执行结果的最大值
@property (strong,nonatomic,nonnull)  NSNumber*  max;

/// 执行结果的平均值
@property (strong,nonatomic,nonnull)  NSNumber*  avg;

/// 执行结果的最小值
@property (strong,nonatomic,nonnull)  NSNumber*  min;

/// 执行结果的合计值
@property (strong,nonatomic,nonnull)  NSNumber*  total;


-(id) initWithPct95:(NSNumber*) pct95
    max:(NSNumber*)max
    avg:(NSNumber*)avg
    min:(NSNumber*)min
    total:(NSNumber*)total;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface DBAccessPrivilege :NSObject

/// 账号名称
@property (strong,nonatomic,nonnull)  NSString*  accountName;

/// 该账号对数据库具有的权限，权限的具体定义可以参见[枚举参数定义](../Enum-Definitions/Enum-Definitions.md)
@property (strong,nonatomic,nonnull)  NSString*  privilege;


-(id) initWithAccountName:(NSString*) accountName
    privilege:(NSString*)privilege;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface IndexPerformanceResult :NSObject

/// 数据库名
@property (strong,nonatomic,nonnull)  NSString*  db;

/// 表名
@property (strong,nonatomic,nonnull)  NSString*  table;

/// 索引名
@property (strong,nonatomic,nonnull)  NSString*  index;

/// 索引大小，单位KB
@property (strong,nonatomic,nonnull)  NSNumber*  sizeKB;

/// 服务器启动以来，累计索引搜索次数
@property (strong,nonatomic,nonnull)  NSNumber*  userSeeks;

/// 服务器启动以来，累计表扫描次数
@property (strong,nonatomic,nonnull)  NSNumber*  userScans;

/// 服务器启动以来，累计索引更新次数
@property (strong,nonatomic,nonnull)  NSNumber*  userUpdates;

/// 最近索引搜索时间，格式为YYYY-MM-DD hh:mm:ss
@property (strong,nonatomic,nonnull)  NSString*  lastUserSeek;

/// 最近表扫描时间，格式为YYYY-MM-DD hh:mm:ss
@property (strong,nonatomic,nonnull)  NSString*  lastUserScan;

/// 最近索引更新时间，格式为YYYY-MM-DD hh:mm:ss
@property (strong,nonatomic,nonnull)  NSString*  lastUserUpdate;


-(id) initWithDb:(NSString*) db
    table:(NSString*)table
    index:(NSString*)index
    sizeKB:(NSNumber*)sizeKB
    userSeeks:(NSNumber*)userSeeks
    userScans:(NSNumber*)userScans
    userUpdates:(NSNumber*)userUpdates
    lastUserSeek:(NSString*)lastUserSeek
    lastUserScan:(NSString*)lastUserScan
    lastUserUpdate:(NSString*)lastUserUpdate;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface DBInstanceParameter :NSObject

/// 参数名称
@property (strong,nonatomic,nonnull)  NSString*  name;

/// 参数描述
@property (strong,nonatomic,nonnull)  NSString*  descriptionValue;

/// 参数修改后的数值，但不一定生效，需要视该参数生效是否需要重启
@property (strong,nonatomic,nonnull)  NSString*  configureValue;

/// 当前在实例中生效的数值
@property (strong,nonatomic,nonnull)  NSString*  runningValue;

/// 该参数数值的允许范围
@property (strong,nonatomic,nonnull)  NSString*  range;

/// 修改是否需要重启生效.- true:参数需要重启才能生效- false:参数生效无需重启
@property (strong,nonatomic,nonnull)  NSString*  needRestart;


-(id) initWithName:(NSString*) name
    descriptionValue:(NSString*)descriptionValue
    configureValue:(NSString*)configureValue
    runningValue:(NSString*)runningValue
    range:(NSString*)range
    needRestart:(NSString*)needRestart;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface BackupSynchronicity :NSObject

/// 跨地域备份同步服务ID
@property (strong,nonatomic,nonnull)  NSString*  serviceId;

/// RDS 实例ID
@property (strong,nonatomic,nonnull)  NSString*  instanceId;

/// 跨地域备份同步服务状态，正常，running；错误，error
@property (strong,nonatomic,nonnull)  NSString*  serviceStatus;

/// 源实例所在地域
@property (strong,nonatomic,nonnull)  NSString*  srcRegion;

/// 备份同步的目标地域
@property (strong,nonatomic,nonnull)  NSString*  destRegion;

/// 数据库类型
@property (strong,nonatomic,nonnull)  NSString*  engine;

/// 数据库版本
@property (strong,nonatomic,nonnull)  NSString*  engineVersion;

/// 创建时间
@property (strong,nonatomic,nonnull)  NSString*  createTime;

/// 跨地域备份的最新数据时间点
@property (strong,nonatomic,nonnull)  NSString*  rdsNewestDataTime;


-(id) initWithServiceId:(NSString*) serviceId
    instanceId:(NSString*)instanceId
    serviceStatus:(NSString*)serviceStatus
    srcRegion:(NSString*)srcRegion
    destRegion:(NSString*)destRegion
    engine:(NSString*)engine
    engineVersion:(NSString*)engineVersion
    createTime:(NSString*)createTime
    rdsNewestDataTime:(NSString*)rdsNewestDataTime;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface BackupSynchronicityAbstract :NSObject

/// 跨地域备份同步服务ID
@property (strong,nonatomic,nonnull)  NSString*  serviceId;

/// 备份同步的目标地域
@property (strong,nonatomic,nonnull)  NSString*  destRegion;


-(id) initWithServiceId:(NSString*) serviceId
    destRegion:(NSString*)destRegion;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface AccountPrivilege :NSObject

/// 数据库名称，具体规则可参见帮助中心文档:[名称及密码限制](../../../documentation/Database-and-Cache-Service/RDS/Introduction/Restrictions/SQLServer-Restrictions.md)
@property (strong,nonatomic,nonnull)  NSString*  dbName;

/// 账号对数据库所具有的权限，权限的具体定义可以参见[枚举参数定义](../Enum-Definitions/Enum-Definitions.md)
@property (strong,nonatomic,nonnull)  NSString*  privilege;


-(id) initWithDbName:(NSString*) dbName
    privilege:(NSString*)privilege;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface ActiveQueryPerformanceResult :NSObject

/// sql语句
@property (strong,nonatomic,nonnull)  NSString*  sql;

/// 开始执行时间，格式为YYYY-MM-DD hh:mm:ss
@property (strong,nonatomic,nonnull)  NSString*  startTime;

/// 执行时长，单位秒
@property (strong,nonatomic,nonnull)  NSNumber*  elapsedTime;

/// 数据库名
@property (strong,nonatomic,nonnull)  NSString*  db;

/// 该SQL执行时的Session ID
@property (strong,nonatomic,nonnull)  NSString*  sessionId;

/// 执行该SQL的用户名
@property (strong,nonatomic,nonnull)  NSString*  user;

/// SQL 的执行状态
@property (strong,nonatomic,nonnull)  NSString*  status;


-(id) initWithSql:(NSString*) sql
    startTime:(NSString*)startTime
    elapsedTime:(NSNumber*)elapsedTime
    db:(NSString*)db
    sessionId:(NSString*)sessionId
    user:(NSString*)user
    status:(NSString*)status;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface AuditResult :NSObject

/// SQL开始执行时间
@property (strong,nonatomic,nonnull)  NSString*  startTime;

/// 源IP
@property (strong,nonatomic,nonnull)  NSString*  ip;

/// 账号名
@property (strong,nonatomic,nonnull)  NSString*  accountName;

/// 操作类型
@property (strong,nonatomic,nonnull)  NSString*  operation;

/// 线程ID
@property (strong,nonatomic,nonnull)  NSString*  threadId;

/// 数据库名
@property (strong,nonatomic,nonnull)  NSString*  dbName;

/// sql语句
@property (strong,nonatomic,nonnull)  NSString*  sql;


-(id) initWithStartTime:(NSString*) startTime
    ip:(NSString*)ip
    accountName:(NSString*)accountName
    operation:(NSString*)operation
    threadId:(NSString*)threadId
    dbName:(NSString*)dbName
    sql:(NSString*)sql;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface BackupSpec :NSObject

/// 备份名称&lt;br&gt;SQL Server：最长支持64个英文字符或等长的中文字符&lt;br&gt;MySQL：只允许数字、小写字母及英文下划线“_”,不超过32字符
@property (strong,nonatomic,nonnull)  NSString*  backupName;

/// 需要备份的数据库名称列表。如不填，则备份整个实例&lt;br&gt;- **MySQL：不支持该参数**&lt;br&gt;- **SQL Server：支持**
@property (strong,nonatomic,nonnull)  NSArray<NSString*>*  dbNames;


-(id) initWithBackupName:(NSString*) backupName
    dbNames:(NSArray<NSString*>*)dbNames;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface AttachedDBInstance :NSObject

/// 实例ID
@property (strong,nonatomic,nonnull)  NSString*  instanceId;

/// 实例名称，具体规则可参见帮助中心文档:[名称及密码限制](../../../documentation/Database-and-Cache-Service/RDS/Introduction/Restrictions/SQLServer-Restrictions.md)
@property (strong,nonatomic,nonnull)  NSString*  instanceName;

/// 实例类型，例如主实例，只读实例等，参见[枚举参数定义](../Enum-Definitions/Enum-Definitions.md)
@property (strong,nonatomic,nonnull)  NSString*  instanceType;

/// 实例引擎类型，如MySQL或SQL Server等，参见[枚举参数定义](../Enum-Definitions/Enum-Definitions.md)
@property (strong,nonatomic,nonnull)  NSString*  engine;

/// 实例引擎版本，参见[枚举参数定义](../Enum-Definitions/Enum-Definitions.md)
@property (strong,nonatomic,nonnull)  NSString*  engineVersion;

/// 参数组ID
@property (strong,nonatomic,nonnull)  NSString*  parameterGroupId;

/// 参数的状态，参见[枚举参数定义](../Enum-Definitions/Enum-Definitions.md)
@property (strong,nonatomic,nonnull)  NSString*  parameterStatus;

/// 实例状态，参见[枚举参数定义](../Enum-Definitions/Enum-Definitions.md)
@property (strong,nonatomic,nonnull)  NSString*  instanceStatus;

/// 实例创建时间
@property (strong,nonatomic,nonnull)  NSString*  createTime;


-(id) initWithInstanceId:(NSString*) instanceId
    instanceName:(NSString*)instanceName
    instanceType:(NSString*)instanceType
    engine:(NSString*)engine
    engineVersion:(NSString*)engineVersion
    parameterGroupId:(NSString*)parameterGroupId
    parameterStatus:(NSString*)parameterStatus
    instanceStatus:(NSString*)instanceStatus
    createTime:(NSString*)createTime;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface AuditFile :NSObject

/// 审计日志文件名称
@property (strong,nonatomic,nonnull)  NSString*  name;

/// 审计日志文件大小，单位Byte
@property (strong,nonatomic,nonnull)  NSNumber*  sizeByte;

/// 审计日志文件最后更新时间
@property (strong,nonatomic,nonnull)  NSString*  lastUpdateTime;

/// 审计日志文件上传时间
@property (strong,nonatomic,nonnull)  NSString*  uploadTime;


-(id) initWithName:(NSString*) name
    sizeByte:(NSNumber*)sizeByte
    lastUpdateTime:(NSString*)lastUpdateTime
    uploadTime:(NSString*)uploadTime;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface Parameter :NSObject

/// 参数名称
@property (strong,nonatomic,nonnull)  NSString*  name;

/// 参数修改值
@property (strong,nonatomic,nonnull)  NSString*  value;


-(id) initWithName:(NSString*) name
    value:(NSString*)value;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface ParameterGroup :NSObject

/// 参数组ID
@property (strong,nonatomic,nonnull)  NSString*  parameterGroupId;

/// 参数组名称
@property (strong,nonatomic,nonnull)  NSString*  parameterGroupName;

/// 参数组状态
@property (strong,nonatomic,nonnull)  NSString*  parameterGroupStatus;

/// 参数组描述
@property (strong,nonatomic,nonnull)  NSString*  descriptionValue;

/// 实例引擎类型
@property (strong,nonatomic,nonnull)  NSString*  engine;

/// 数据库版本
@property (strong,nonatomic,nonnull)  NSString*  engineVersion;

/// 地域代码，取值范围参见[《各地域及可用区对照表》](../Enum-Definitions/Regions-AZ.md)
@property (strong,nonatomic,nonnull)  NSString*  regionId;

/// 参数组创建时间
@property (strong,nonatomic,nonnull)  NSString*  createTime;


-(id) initWithParameterGroupId:(NSString*) parameterGroupId
    parameterGroupName:(NSString*)parameterGroupName
    parameterGroupStatus:(NSString*)parameterGroupStatus
    descriptionValue:(NSString*)descriptionValue
    engine:(NSString*)engine
    engineVersion:(NSString*)engineVersion
    regionId:(NSString*)regionId
    createTime:(NSString*)createTime;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface DBInstanceSpecWithoutCharge :NSObject

/// 实例名，具体规则可参见帮助中心文档:[名称及密码限制](https://docs.jdcloud.com/cn/rds/sqlserver-restrictions)
@property (strong,nonatomic,nonnull)  NSString*  instanceName;

/// 实例引擎类型，参见[枚举参数定义](https://docs.jdcloud.com/cn/rds/api/enum-definitions)
@property (strong,nonatomic,nonnull)  NSString*  engine;

/// 实例引擎版本，参见[枚举参数定义](https://docs.jdcloud.com/cn/rds/api/enum-definitions)
@property (strong,nonatomic,nonnull)  NSString*  engineVersion;

/// 实例规格代码，可以查看文档[MySQL 实例规格](https://docs.jdcloud.com/cn/rds/api/instance-specifications-mysql)、[SQL Server实例规格](https://docs.jdcloud.com/cn/rds/api/instance-specifications-sqlserver)
@property (strong,nonatomic,nonnull)  NSString*  instanceClass;

/// 磁盘大小，单位GB，可以查看文档[MySQL 实例规格](https://docs.jdcloud.com/cn/rds/api/instance-specifications-mysql)、[SQL Server实例规格](https://docs.jdcloud.com/cn/rds/api/instance-specifications-sqlserver)
@property (strong,nonatomic,nonnull)  NSNumber*  instanceStorageGB;

/// 可用区ID， 第一个ID必须为主实例所在的可用区。如两个可用区一样，也需输入两个azId
@property (strong,nonatomic,nonnull)  NSArray<NSString*>*  azId;

/// VPC的ID
@property (strong,nonatomic,nonnull)  NSString*  vpcId;

/// 子网ID
@property (strong,nonatomic,nonnull)  NSString*  subnetId;

/// 参数组ID, 缺省系统会创建一个默认参数组&lt;br&gt;- 仅支持MySQL
@property (strong,nonatomic,nonnull)  NSString*  parameterGroup;

/// 存储类型，参见[枚举参数定义](../Enum-Definitions/Enum-Definitions.md), 缺省值为：LOCAL_SSD&lt;br&gt;- 仅支持MySQL
@property (strong,nonatomic,nonnull)  NSString*  instanceStorageType;

/// 实例数据加密(存储类型为云硬盘才支持数据加密)。false：不加密，true：加密，缺省为false&lt;br&gt;- 仅支持MySQL
@property (strong,nonatomic,nonnull)  NSNumber*  storageEncrypted;

/// 实例的高可用架构。standalone：单机，cluster：主备双机架构，缺省为cluster&lt;br&gt;- 仅支持SQL Server
@property (strong,nonatomic,nonnull)  NSString*  instanceType;


-(id) initWithInstanceName:(NSString*) instanceName
    engine:(NSString*)engine
    engineVersion:(NSString*)engineVersion
    instanceClass:(NSString*)instanceClass
    instanceStorageGB:(NSNumber*)instanceStorageGB
    azId:(NSArray<NSString*>*)azId
    vpcId:(NSString*)vpcId
    subnetId:(NSString*)subnetId
    parameterGroup:(NSString*)parameterGroup
    instanceStorageType:(NSString*)instanceStorageType
    storageEncrypted:(NSNumber*)storageEncrypted
    instanceType:(NSString*)instanceType;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface SlowLogAttributes :NSObject

/// 数据库名，表示该SQL是在哪个数据库中执行的
@property (strong,nonatomic,nonnull)  NSString*  dbName;

/// SQL语句
@property (strong,nonatomic,nonnull)  NSString*  sql;

/// SQL语句执行的开始时间，格式为YYYY-MM-DD hh:mm:ss
@property (strong,nonatomic,nonnull)  NSString*  executionTime;

/// SQL语句执行的时长，单位秒
@property (strong,nonatomic,nonnull)  NSNumber*  elapsedTime;

/// SQL语句等待锁的时间，单位秒
@property (strong,nonatomic,nonnull)  NSNumber*  lockTime;

/// SQL语句扫描的行数
@property (strong,nonatomic,nonnull)  NSNumber*  rowsExamined;

/// SQL语句返回的行数
@property (strong,nonatomic,nonnull)  NSNumber*  rowsReturned;


-(id) initWithDbName:(NSString*) dbName
    sql:(NSString*)sql
    executionTime:(NSString*)executionTime
    elapsedTime:(NSNumber*)elapsedTime
    lockTime:(NSNumber*)lockTime
    rowsExamined:(NSNumber*)rowsExamined
    rowsReturned:(NSNumber*)rowsReturned;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface DBInstanceAttribute :NSObject

/// 实例ID
@property (strong,nonatomic,nonnull)  NSString*  instanceId;

/// 实例名称，具体规则可参见帮助中心文档:[名称及密码限制](../../../documentation/Database-and-Cache-Service/RDS/Introduction/Restrictions/SQLServer-Restrictions.md)
@property (strong,nonatomic,nonnull)  NSString*  instanceName;

/// 实例类型，例如主实例，只读实例等，参见[枚举参数定义](../Enum-Definitions/Enum-Definitions.md)
@property (strong,nonatomic,nonnull)  NSString*  instanceType;

/// 实例引擎类型，如MySQL或SQL Server等，参见[枚举参数定义](../Enum-Definitions/Enum-Definitions.md)
@property (strong,nonatomic,nonnull)  NSString*  engine;

/// 实例引擎版本，参见[枚举参数定义](../Enum-Definitions/Enum-Definitions.md)
@property (strong,nonatomic,nonnull)  NSString*  engineVersion;

/// 实例规格代码
@property (strong,nonatomic,nonnull)  NSString*  instanceClass;

/// 存储类型，参见[枚举参数定义](../Enum-Definitions/Enum-Definitions.md)
@property (strong,nonatomic,nonnull)  NSString*  instanceStorageType;

/// 实例数据加密. false：不加密; true：加密
@property (strong,nonatomic,nonnull)  NSNumber*  storageEncrypted;

/// 磁盘，单位GB
@property (strong,nonatomic,nonnull)  NSNumber*  instanceStorageGB;

/// CPU核数
@property (strong,nonatomic,nonnull)  NSNumber*  instanceCPU;

/// 内存大小，单位MB
@property (strong,nonatomic,nonnull)  NSNumber*  instanceMemoryMB;

/// 地域ID，参见[地域及可用区对照表](../Enum-Definitions/Regions-AZ.md)
@property (strong,nonatomic,nonnull)  NSString*  regionId;

/// 可用区ID，第一个为主实例在的可用区，参见[地域及可用区对照表](../Enum-Definitions/Regions-AZ.md)
@property (strong,nonatomic,nonnull)  NSArray<NSString*>*  azId;

/// VPC的ID
@property (strong,nonatomic,nonnull)  NSString*  vpcId;

/// 子网的ID
@property (strong,nonatomic,nonnull)  NSString*  subnetId;

/// 参数组的ID&lt;br&gt;- 仅支持MySQL
@property (strong,nonatomic,nonnull)  NSString*  parameterGroupId;

/// 参数组的名称&lt;br&gt;- 仅支持MySQL
@property (strong,nonatomic,nonnull)  NSString*  parameterGroupName;

/// 参数的状态，参见[枚举参数定义](../Enum-Definitions/Enum-Definitions.md)&lt;br&gt;- 仅支持MySQL
@property (strong,nonatomic,nonnull)  NSString*  parameterStatus;

/// 实例内网域名
@property (strong,nonatomic,nonnull)  NSString*  internalDomainName;

/// 实例公网域名
@property (strong,nonatomic,nonnull)  NSString*  publicDomainName;

/// 应用访问端口
@property (strong,nonatomic,nonnull)  NSString*  instancePort;

/// 访问模式，参见[枚举参数定义](../Enum-Definitions/Enum-Definitions.md)&lt;br&gt;- 仅支持MySQL
@property (strong,nonatomic,nonnull)  NSString*  connectionMode;

/// 审计状态，参见[枚举参数定义](../Enum-Definitions/Enum-Definitions.md)&lt;br&gt;- 仅支持MySQL
@property (strong,nonatomic,nonnull)  NSString*  auditStatus;

/// 实例状态，参见[枚举参数定义](../Enum-Definitions/Enum-Definitions.md)
@property (strong,nonatomic,nonnull)  NSString*  instanceStatus;

/// 实例创建时间
@property (strong,nonatomic,nonnull)  NSString*  createTime;

/// 计费配置
@property (strong,nonatomic,nonnull)  Charge*  charge;

/// MySQL只读实例对应的主实例ID&lt;br&gt;- 仅支持MySQL
@property (strong,nonatomic,nonnull)  NSString*  sourceInstanceId;

/// 只读实例ID列表&lt;br&gt;- 仅支持MySQL
@property (strong,nonatomic,nonnull)  NSArray<NSString*>*  roInstanceIds;

/// 高可用集群中主节点的信息&lt;br&gt;- 仅支持SQL Server
@property (strong,nonatomic,nonnull)  DBInstanceNode*  primaryNode;

/// 高可用集群中从节点的信息&lt;br&gt;- 仅支持SQL Server
@property (strong,nonatomic,nonnull)  DBInstanceNode*  secondaryNode;

/// 标签信息
@property (strong,nonatomic,nonnull)  NSArray<Tag*>*  tags;


-(id) initWithInstanceId:(NSString*) instanceId
    instanceName:(NSString*)instanceName
    instanceType:(NSString*)instanceType
    engine:(NSString*)engine
    engineVersion:(NSString*)engineVersion
    instanceClass:(NSString*)instanceClass
    instanceStorageType:(NSString*)instanceStorageType
    storageEncrypted:(NSNumber*)storageEncrypted
    instanceStorageGB:(NSNumber*)instanceStorageGB
    instanceCPU:(NSNumber*)instanceCPU
    instanceMemoryMB:(NSNumber*)instanceMemoryMB
    regionId:(NSString*)regionId
    azId:(NSArray<NSString*>*)azId
    vpcId:(NSString*)vpcId
    subnetId:(NSString*)subnetId
    parameterGroupId:(NSString*)parameterGroupId
    parameterGroupName:(NSString*)parameterGroupName
    parameterStatus:(NSString*)parameterStatus
    internalDomainName:(NSString*)internalDomainName
    publicDomainName:(NSString*)publicDomainName
    instancePort:(NSString*)instancePort
    connectionMode:(NSString*)connectionMode
    auditStatus:(NSString*)auditStatus
    instanceStatus:(NSString*)instanceStatus
    createTime:(NSString*)createTime
    charge:(Charge*)charge
    sourceInstanceId:(NSString*)sourceInstanceId
    roInstanceIds:(NSArray<NSString*>*)roInstanceIds
    primaryNode:(DBInstanceNode*)primaryNode
    secondaryNode:(DBInstanceNode*)secondaryNode
    tags:(NSArray<Tag*>*)tags;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface DBInstanceSpec :NSObject

/// 实例名，具体规则可参见帮助中心文档:[名称及密码限制](../../../documentation/Database-and-Cache-Service/RDS/Introduction/Restrictions/SQLServer-Restrictions.md)
@property (strong,nonatomic,nonnull)  NSString*  instanceName;

/// 实例引擎类型，参见[枚举参数定义](../Enum-Definitions/Enum-Definitions.md)
@property (strong,nonatomic,nonnull)  NSString*  engine;

/// 实例引擎版本，参见[枚举参数定义](../Enum-Definitions/Enum-Definitions.md)
@property (strong,nonatomic,nonnull)  NSString*  engineVersion;

/// 实例规格代码，可以查看文档[MySQL 实例规格](../Instance-Specifications/Instance-Specifications-MySQL.md)、[SQL Server实例规格](../Instance-Specifications/Instance-Specifications-SQLServer.md)
@property (strong,nonatomic,nonnull)  NSString*  instanceClass;

/// 磁盘大小，单位GB，可以查看文档[MySQL 实例规格](../Instance-Specifications/Instance-Specifications-MySQL.md)、[SQL Server实例规格](../Instance-Specifications/Instance-Specifications-SQLServer.md)
@property (strong,nonatomic,nonnull)  NSNumber*  instanceStorageGB;

/// 可用区ID， 第一个ID必须为主实例所在的可用区。如两个可用区一样，也需输入两个azId
@property (strong,nonatomic,nonnull)  NSArray<NSString*>*  azId;

/// VPC的ID
@property (strong,nonatomic,nonnull)  NSString*  vpcId;

/// 子网ID
@property (strong,nonatomic,nonnull)  NSString*  subnetId;

/// 参数组ID, 缺省系统会创建一个默认参数组&lt;br&gt;- 仅支持MySQL
@property (strong,nonatomic,nonnull)  NSString*  parameterGroup;

/// 计费规格，包括计费类型，计费周期等
@property (strong,nonatomic,nonnull)  ChargeSpec*  chargeSpec;

/// 存储类型，参见[枚举参数定义](../Enum-Definitions/Enum-Definitions.md), 缺省值为：LOCAL_SSD&lt;br&gt;- 仅支持MySQL
@property (strong,nonatomic,nonnull)  NSString*  instanceStorageType;

/// 应用访问端口, 仅支持 MySQL，Percona, MariaDB, 默认值为 3306
@property (strong,nonatomic,nonnull)  NSString*  instancePort;

/// 实例数据加密(存储类型为云硬盘才支持数据加密)。false：不加密，true：加密，缺省为false&lt;br&gt;- 仅支持MySQL
@property (strong,nonatomic,nonnull)  NSNumber*  storageEncrypted;

/// 实例的高可用架构。standalone：单机，cluster：主备双机架构，缺省为cluster&lt;br&gt;- 仅支持SQL Server
@property (strong,nonatomic,nonnull)  NSString*  instanceType;


-(id) initWithInstanceName:(NSString*) instanceName
    engine:(NSString*)engine
    engineVersion:(NSString*)engineVersion
    instanceClass:(NSString*)instanceClass
    instanceStorageGB:(NSNumber*)instanceStorageGB
    azId:(NSArray<NSString*>*)azId
    vpcId:(NSString*)vpcId
    subnetId:(NSString*)subnetId
    parameterGroup:(NSString*)parameterGroup
    chargeSpec:(ChargeSpec*)chargeSpec
    instanceStorageType:(NSString*)instanceStorageType
    instancePort:(NSString*)instancePort
    storageEncrypted:(NSNumber*)storageEncrypted
    instanceType:(NSString*)instanceType;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface Database :NSObject

/// 数据库名称，具体规则可参见帮助中心文档:[名称及密码限制](../../../documentation/Database-and-Cache-Service/RDS/Introduction/Restrictions/SQLServer-Restrictions.md)
@property (strong,nonatomic,nonnull)  NSString*  dbName;

/// 数据库状态，参见[枚举参数定义](../Enum-Definitions/Enum-Definitions.md)&lt;br&gt;- **MySQL：不支持，不返回该字段**&lt;br&gt;- **SQL Server：返回该字段**
@property (strong,nonatomic,nonnull)  NSString*  dbStatus;

/// 字符集，参见[枚举参数定义](../Enum-Definitions/Enum-Definitions.md)
@property (strong,nonatomic,nonnull)  NSString*  characterSetName;

/// 数据库创建时间，格式YYYY-MM-DD HH:mm:ss&lt;br&gt;- 仅支持SQL Server
@property (strong,nonatomic,nonnull)  NSString*  createTime;

/// 该数据库相关账户权限列表
@property (strong,nonatomic,nonnull)  NSArray<DBAccessPrivilege*>*  accessPrivilege;


-(id) initWithDbName:(NSString*) dbName
    dbStatus:(NSString*)dbStatus
    characterSetName:(NSString*)characterSetName
    createTime:(NSString*)createTime
    accessPrivilege:(NSArray<DBAccessPrivilege*>*)accessPrivilege;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface SlowLogDigest :NSObject

/// 数据库名，表示该SQL是在哪个数据库中执行的
@property (strong,nonatomic,nonnull)  NSString*  dbName;

/// SQL语句
@property (strong,nonatomic,nonnull)  NSString*  sql;

/// SQL语句执行的开始时间，格式为YYYY-MM-DD hh:mm:ss
@property (strong,nonatomic,nonnull)  NSString*  executionTime;

/// SQL语句的执行次数
@property (strong,nonatomic,nonnull)  NSNumber*  executionCount;

/// SQL语句执行的时长，单位秒
@property (strong,nonatomic,nonnull)  DigestData*  elapsedTime;

/// SQL语句等待锁的时间，单位秒
@property (strong,nonatomic,nonnull)  DigestData*  lockTime;

/// SQL语句的长度
@property (strong,nonatomic,nonnull)  DigestData*  sqlLength;

/// SQL语句扫描的行数
@property (strong,nonatomic,nonnull)  DigestData*  rowsExamined;

/// SQL语句返回的行数
@property (strong,nonatomic,nonnull)  DigestData*  rowsReturned;


-(id) initWithDbName:(NSString*) dbName
    sql:(NSString*)sql
    executionTime:(NSString*)executionTime
    executionCount:(NSNumber*)executionCount
    elapsedTime:(DigestData*)elapsedTime
    lockTime:(DigestData*)lockTime
    sqlLength:(DigestData*)sqlLength
    rowsExamined:(DigestData*)rowsExamined
    rowsReturned:(DigestData*)rowsReturned;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface Account :NSObject

/// 账号名，账号名的具体规则可参见帮助中心文档:[名称及密码限制](../../../documentation/Database-and-Cache-Service/RDS/Introduction/Restrictions/SQLServer-Restrictions.md)
@property (strong,nonatomic,nonnull)  NSString*  accountName;

/// 账号状态，参见[枚举参数定义](../Enum-Definitions/Enum-Definitions.md)&lt;br&gt;- **MySQL：不支持，不返回该字段**&lt;br&gt;- **SQL Server：返回该字段**
@property (strong,nonatomic,nonnull)  NSString*  accountStatus;

/// 具有的权限
@property (strong,nonatomic,nonnull)  NSArray<AccountPrivilege*>*  accountPrivileges;


-(id) initWithAccountName:(NSString*) accountName
    accountStatus:(NSString*)accountStatus
    accountPrivileges:(NSArray<AccountPrivilege*>*)accountPrivileges;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface RestoredNewDBInstanceSpec :NSObject

/// 数据库实例名，名称的限制可参考[帮助中心文档](../../../documentation/Database-and-Cache-Service/RDS/Introduction/Restrictions/SQLServer-Restrictions.md)
@property (strong,nonatomic,nonnull)  NSString*  instanceName;

/// 实例规格代码，可以查看文档[MySQL 实例规格](../Instance-Specifications/Instance-Specifications-MySQL.md)、[SQL Server实例规格](../Instance-Specifications/Instance-Specifications-SQLServer.md)
@property (strong,nonatomic,nonnull)  NSString*  instanceClass;

/// 磁盘大小，单位GB
@property (strong,nonatomic,nonnull)  NSNumber*  instanceStorageGB;

/// 可用区ID， 第一个ID必须为主实例所在的可用区。如两个可用区一样，也需输入两个azId
@property (strong,nonatomic,nonnull)  NSArray<NSString*>*  azId;

/// VPC的ID
@property (strong,nonatomic,nonnull)  NSString*  vpcId;

/// 子网ID
@property (strong,nonatomic,nonnull)  NSString*  subnetId;

/// 参数组ID, 缺省系统会创建一个默认参数组&lt;br&gt;- 仅支持MySQL
@property (strong,nonatomic,nonnull)  NSString*  parameterGroup;

/// 计费规格，包括计费类型，计费周期等
@property (strong,nonatomic,nonnull)  ChargeSpec*  chargeSpec;

/// 存储类型，参见[枚举参数定义](../Enum-Definitions/Enum-Definitions.md), 缺省值为：LOCAL_SSD&lt;br&gt;- 仅支持MySQL
@property (strong,nonatomic,nonnull)  NSString*  instanceStorageType;

/// 应用访问端口, 仅支持 MySQL，Percona, MariaDB, 默认值为 3306
@property (strong,nonatomic,nonnull)  NSString*  instancePort;

/// 实例数据加密(存储类型为云硬盘才支持数据加密)。false：不加密，true：加密，缺省为false&lt;br&gt;- 仅支持MySQL
@property (strong,nonatomic,nonnull)  NSNumber*  storageEncrypted;

/// 实例的高可用架构。standalone：单机，cluster：主备双机架构，缺省为cluster&lt;br&gt;- 仅支持SQL Server
@property (strong,nonatomic,nonnull)  NSString*  instanceType;


-(id) initWithInstanceName:(NSString*) instanceName
    instanceClass:(NSString*)instanceClass
    instanceStorageGB:(NSNumber*)instanceStorageGB
    azId:(NSArray<NSString*>*)azId
    vpcId:(NSString*)vpcId
    subnetId:(NSString*)subnetId
    parameterGroup:(NSString*)parameterGroup
    chargeSpec:(ChargeSpec*)chargeSpec
    instanceStorageType:(NSString*)instanceStorageType
    instancePort:(NSString*)instancePort
    storageEncrypted:(NSNumber*)storageEncrypted
    instanceType:(NSString*)instanceType;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface DBInstance :NSObject

/// 实例ID
@property (strong,nonatomic,nonnull)  NSString*  instanceId;

/// 实例名称，具体规则可参见帮助中心文档:[名称及密码限制](../../../documentation/Database-and-Cache-Service/RDS/Introduction/Restrictions/SQLServer-Restrictions.md)
@property (strong,nonatomic,nonnull)  NSString*  instanceName;

/// 实例类别，例如主实例，只读实例等，参见[枚举参数定义](../Enum-Definitions/Enum-Definitions.md)
@property (strong,nonatomic,nonnull)  NSString*  instanceType;

/// 实例引擎类型，如MySQL或SQL Server等，参见[枚举参数定义](../Enum-Definitions/Enum-Definitions.md)
@property (strong,nonatomic,nonnull)  NSString*  engine;

/// 实例引擎版本，参见[枚举参数定义](../Enum-Definitions/Enum-Definitions.md)
@property (strong,nonatomic,nonnull)  NSString*  engineVersion;

/// 实例规格代码
@property (strong,nonatomic,nonnull)  NSString*  instanceClass;

/// 磁盘，单位GB
@property (strong,nonatomic,nonnull)  NSNumber*  instanceStorageGB;

/// CPU核数
@property (strong,nonatomic,nonnull)  NSNumber*  instanceCPU;

/// 内存，单位MB
@property (strong,nonatomic,nonnull)  NSNumber*  instanceMemoryMB;

/// 地域ID，参见[地域及可用区对照表](../Enum-Definitions/Regions-AZ.md)
@property (strong,nonatomic,nonnull)  NSString*  regionId;

/// 可用区ID，第一个为主实例在的可用区，参见[地域及可用区对照表](../Enum-Definitions/Regions-AZ.md)
@property (strong,nonatomic,nonnull)  NSArray<NSString*>*  azId;

/// VPC的ID
@property (strong,nonatomic,nonnull)  NSString*  vpcId;

/// 子网的ID
@property (strong,nonatomic,nonnull)  NSString*  subnetId;

/// 实例状态，参见[枚举参数定义](../Enum-Definitions/Enum-Definitions.md)
@property (strong,nonatomic,nonnull)  NSString*  instanceStatus;

/// 实例公网域名&lt;br&gt;- 仅支持MySQL
@property (strong,nonatomic,nonnull)  NSString*  publicDomainName;

/// 实例内网域名&lt;br&gt;- 仅支持MySQL
@property (strong,nonatomic,nonnull)  NSString*  internalDomainName;

/// 实例创建时间
@property (strong,nonatomic,nonnull)  NSString*  createTime;

/// 实例跨地域备份服务开启相关信息
@property (strong,nonatomic,nonnull)  NSArray<BackupSynchronicityAbstract*>*  backupSynchronicity;

/// 计费配置
@property (strong,nonatomic,nonnull)  Charge*  charge;

/// 标签信息
@property (strong,nonatomic,nonnull)  NSArray<Tag*>*  tags;

/// MySQL、PostgreSQL只读实例对应的主实例ID
@property (strong,nonatomic,nonnull)  NSString*  sourceInstanceId;


-(id) initWithInstanceId:(NSString*) instanceId
    instanceName:(NSString*)instanceName
    instanceType:(NSString*)instanceType
    engine:(NSString*)engine
    engineVersion:(NSString*)engineVersion
    instanceClass:(NSString*)instanceClass
    instanceStorageGB:(NSNumber*)instanceStorageGB
    instanceCPU:(NSNumber*)instanceCPU
    instanceMemoryMB:(NSNumber*)instanceMemoryMB
    regionId:(NSString*)regionId
    azId:(NSArray<NSString*>*)azId
    vpcId:(NSString*)vpcId
    subnetId:(NSString*)subnetId
    instanceStatus:(NSString*)instanceStatus
    publicDomainName:(NSString*)publicDomainName
    internalDomainName:(NSString*)internalDomainName
    createTime:(NSString*)createTime
    backupSynchronicity:(NSArray<BackupSynchronicityAbstract*>*)backupSynchronicity
    charge:(Charge*)charge
    tags:(NSArray<Tag*>*)tags
    sourceInstanceId:(NSString*)sourceInstanceId;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end

#endif /* RdsModel_h */
